<?php

class AdminEstancia extends FuncionComun
{

    var $conexion;

    function AdminEstancia()
    {
        $this->conexion = new ConexionDB();
    }

    function setEstancia(Estancia$Estancia)
    {
        $this->setObjectDB($Estancia, "Estancia");
    }

    function getEstancias()
    {
        $consulta = "SELECT id_estancia, nombre_estancia, descripcion_estancia, capacidadadultos_estancia, capacidadninos_estancia FROM estancia WHERE id_hotel_estancia=" .
            $_SESSION['S_HOTEL'] . " ORDER BY id_Estancia";
        $this->conexion->realizarConsulta($consulta);
        return $this->conexion->getResultadosConsulta();
    }

    function getEstancia($id)
    {
        $consulta = "SELECT * FROM estancia WHERE id_Estancia=" . $id;
        $this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsultaIdentify();
        return $this->getNewObject("Estancia", $res[0]);
    }
    function updateEstancia(Estancia$Estancia)
    {
        $this->updateObject($Estancia, "Estancia");
    }
    function deleteEstancia(Estancia$Estancia)
    {

        $this->deleteObject($Estancia, "Estancia");
    }
    function getCaracteristicas()
    {
        $consulta = "SELECT * FROM caracteristicae";
        $this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsulta();
        return $res;
    }
    function setCaracteristicas($id_caracteristicaestancia, $id_caracteristicae, $id_estancia)
    {
        $consulta = "INSERT INTO estanciacaracteristica VALUES(" . $id_caracteristicaestancia .
            "," . $id_caracteristicae . "," . $id_estancia . ")";
        $this->conexion->realizarConsulta($consulta);
    }
    function delCaracteristicas($id_estancia){
    	$cons="delete from estanciacaracteristica where id_estancia_estanciacaracteristica=".$id_estancia;
    	$this->conexion->realizarConsulta($cons);
    }

    function getTemporadasTarifa($id_estancia, $tipo)
    {
    	$cons="SET GLOBAL time_zone = 'SYSTEM'; ";
    	$this->conexion->realizarConsulta($cons);
        $res;
        switch($tipo){
        	case "especifica": $consulta = "SELECT tm.id_temporada, tm.fini_temporada, tm.ffin_temporada, tm.nombre_temporada, tf.precio_adulto_tarifa, tf.precio_nino_tarifa FROM temporada tm, tarifa tf WHERE tf.id_estancia_tarifa=".$id_estancia." AND tf.id_temporada_tarifa=tm.id_temporada AND tm.tipo_temporada='" .$tipo."'"; break;
	        case "general": $consulta = "SELECT tm.id_temporada, date_format(tm.fini_temporada, '%M-%d'), date_format(tm.ffin_temporada, '%M-%d'), tm.nombre_temporada, tf.precio_adulto_tarifa, tf.precio_nino_tarifa FROM temporada tm, tarifa tf WHERE tf.id_estancia_tarifa=".$id_estancia." AND tf.id_temporada_tarifa=tm.id_temporada AND tm.tipo_temporada='" .$tipo."'"; break;
	        case "defecto": $consulta = "SELECT tm.id_temporada, tm.nombre_temporada, tf.precio_adulto_tarifa, tf.precio_nino_tarifa FROM temporada tm, tarifa tf WHERE tf.id_estancia_tarifa=".$id_estancia." AND tf.id_temporada_tarifa=tm.id_temporada AND tm.tipo_temporada='" .$tipo."'"; break;
        }
        
        
        $this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsulta();

        return $res;
    }
    
    function getObjeto($tabla, $id)
    {
        $consulta = "SELECT * FROM ".$tabla." WHERE id_".$tabla."=". $id;
        $this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsultaIdentify();
        return $this->getNewObject($tabla, $res[0]);
    }
    function getTarifaFromTemporada($id){
    	$consulta="SELECT * FROM tarifa WHERE id_temporada_tarifa=".$id;
		$this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsultaIdentify();
        return $this->getNewObject("Tarifa", $res[0]);
    }

    function getAltas($id_estancia)
    {
        $consulta = "select h.id_habitacion, h.nombre_habitacion, h.estado_habitacion,IFNULL( h.observacion_habitacion, 'ninguna'), IFNULL(r.estado_reserva, 'disponible') from habitacion h left join reserva r on (h.id_habitacion=r.id_habitacion_reserva and CURRENT_DATE > r.fini_reserva AND CURRENT_DATE<r.ffin_reserva) where h.id_estancia_habitacion=" . $id_estancia . " and h.id_hotel_habitacion=" . $_SESSION['S_HOTEL'];
        $this->conexion->realizarConsulta($consulta);
        return $this->conexion->getResultadosConsulta();
    }

    function setTarifaTemporada($datos)
    {
        $consulta_temporada = "INSERT INTO temporada VALUES (" . $datos['id_temporada'] .
            ", '" . $datos['nombre_temporada'] . "', 'especifica', '" . $datos['fini_temporada'] .
            "', '" . $datos['ffin_temporada'] . "')";
        $consulta_tarifa = "INSERT INTO tarifa VALUES (" . $datos['id_tarifa'] . ", " .
            $datos['id_estancia'] . ", " . $datos['id_temporada'] . ", '" . $datos['precio_adulto_tarifa'] .
            "', '" . $datos['precio_nino_tarifa'] . "')";

        if ($datos['tipo_temporada'] == 'general') {
        	$fi_tarifa=date_format(new DateTime($tarifa['fini_temporada']),'Y-m-d');
            $consulta_temporada = "INSERT INTO temporada VALUES (" . $datos['id_temporada'] .
                ", '" . $datos['nombre_temporada'] . "', 'general', '" . "0001-" . $datos['fini_temporada'] .
                "', '0001-" . $datos['ffin_temporada'] . "')";
        }
        if ($datos['tipo_temporada'] == 'defecto') {
            $consulta_temporada =
                "INSERT INTO temporada (id_temporada, nombre_temporada, tipo_temporada) VALUES (" .
                $datos['id_temporada'] . ", '" . $datos['nombre_temporada'] . "', 'defecto')";
        }

        $this->conexion->realizarConsulta($consulta_temporada);
        $this->conexion->realizarConsulta($consulta_tarifa);
    }
    function getCaracteristicasEstancia($id_estancia)
    {
        $consulta="SELECT c.id_caracteristicae, c.nombre_caracteristicae, c.icon_caracteristicae FROM caracteristicae c, estanciaCaracteristica ec WHERE ec.id_caracteristicae_estanciacaracteristica=c.id_caracteristicae and ec.id_estancia_estanciacaracteristica=".$id_estancia;   
        $this->conexion->realizarConsulta($consulta);
        $res = $this->conexion->getResultadosConsulta();
        return $res;
    }
       
}
?>